package cn.tedu.csmall.commons.util;

import cn.tedu.csmall.commons.pojo.vo.PageData;
import com.github.pagehelper.PageInfo;

public class PageInfoToPageDataConverter {
    /*
    * 泛型声明:
    *
    * 一.若成员方法的返回值或参数声明了泛型，则类上或者方法本身上也要声明(两种都可以)，
    *  类上声明的原因:因为成员方法需要类先实例再调用，只有类上有了类型才能知道方法的类型
    *
    * 二.若静态方法的返回值或参数声明了泛型，则方法本身必须也要声明泛型(只有一种可以),否则报错
    *
    * */
    public static <T> PageData<T> convert (PageInfo<T> pageInfo){
        PageData<T> pageData = new PageData<>();
        pageData.setPageSize(pageInfo.getPageSize());
        pageData.setMaxPage(pageInfo.getPages());
        pageData.setCurrentPage(pageInfo.getPageNum());
        pageData.setTotal(pageInfo.getTotal());
        pageData.setList(pageInfo.getList());
        return pageData;
    }
}
